Delphi String[10]类型 是C 的什么类型啊?

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:43:37
我要把这段代码翻译成C的 但是不知道这是个什么类型
Delphi:
MyBuf :String[10]; //这是个什么类型啊?
MyBuf :='xiaoming';
ShowMeaage(PChar(@MyBuf)); //还有@MyBuf 这个是什么意思?
MyBuf :String[10]; //这是个什么类型啊?
字符串类型

谢谢回答 请问转换为C应该怎么写啊? 我看上说String是DELPHI特有的一种类型,是以$0结尾 所以ShowMeaage(PChar(@MyBuf)); 的结果是 -xiaoming 注意前面有个“-” 我想翻译成C的代码被难到在这里了

DELPHI的string类型不是c里面的char类型这么简单,而是一个封装好的字符串类型,不过里面也带有一个类似于char数组的结构用来装载字符内容,string[0]不是字符串的开始,而是纪录字符串长度的一个数字,string[1]才是真正字符串开始的位置(指针),因此在delphi中,一般不会用@Mybuf这样的方式,而用pchar(Mybuf)来显式转换为char指针。而在c中就不存在这样的问题了。
char *Mybuf="xiaoming" ;
ShowMeaage(MyBuf);

char [10]
@myBuf是对myBuf取地址,就是 C里面的*P这个意思啦。

MyBuf :String[10]; //这是个什么类型啊?
字符串类型
ShowMeaage(PChar(@MyBuf)); //还有@MyBuf 这个是什么意思?
显示pchar的地址